Better-PaaS

Quickstart

Go from a fresh server to a live, HTTPS-secured app in under 10 minutes.

This is the fastest path from nothing to a deployed app. We'll install Better-PaaS, log in, and deploy a project. If you want the slower, more explained version, read Getting Started instead.

What you need before you start

  • A Linux server (a VPS) running Ubuntu or Debian, with root/sudo access. A small $5/month box is enough to begin.
  • The ability to SSH into that server.
  • A Git repository with an app you want to deploy.

Step 1 — Install Better-PaaS

SSH into your server, then run the one-command installer:

On your server
curl -fsSL https://raw.githubusercontent.com/sumon-ohid/better-paas/main/install.sh | sudo bash

This installs everything Better-PaaS needs — Go, Docker, Nixpacks, Caddy, and Node.js — then builds and starts the dashboard and API.

On a fresh machine this takes a few minutes. Grab a coffee. ☕

If your VPS uses ufw, open the ports Better-PaaS needs:

On your server
sudo ufw allow 3000/tcp
sudo ufw allow 8080/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw status

If your hosting provider has its own cloud firewall, allow the same inbound TCP ports there too.

The installer configures Caddy so it can bind ports 80 and 443 without running the Better-PaaS backend as root. If app URLs fail and the backend log says bind: permission denied, fix it with:

On your server
sudo setcap 'cap_net_bind_service=+ep' "$(readlink -f "$(command -v caddy)")"
sudo systemctl restart better-paas-backend

When it finishes, you'll see a summary like this:

═══════════════════════════════════════════════════════
   ✅  Better-PaaS installed successfully!
═══════════════════════════════════════════════════════

  Dashboard:  http://localhost:3000
  API:        http://localhost:8080

🔑  ADMIN TOKEN — you need this to LOG IN to the dashboard

      bp_live_a1b2c3d4e5f6...      ← copy this

Step 2 — Grab your admin token

The installer prints your admin token — this is the password to your dashboard. Copy it somewhere safe.

Lost it? You can print it again any time:

On your server
cd ~/better-paas/backend && ./server token

Step 3 — Open the dashboard and sign in

In your browser, open the dashboard:

  • If Better-PaaS is on your own machine: http://localhost:3000
  • If it's on a remote VPS: http://YOUR_SERVER_IP:3000

Paste your admin token into the sign-in screen. You're in.

Step 4 — Deploy your first app

  1. Click Deploy a service.
  2. Paste your Git repository URL (e.g. https://github.com/you/my-app).
  3. Pick the branch to deploy (usually main).
  4. Click Deploy.

Better-PaaS now:

  • clones your repo,
  • detects the framework and builds it with Nixpacks,
  • starts it in a Docker container,
  • and routes it through Caddy.

Watch the build logs stream live in the dashboard. When the status turns Running, your app is online. 🎉

Step 5 — Visit your app

Each app gets an automatic URL like:

http://<app-id>.<your-server-ip>.sslip.io

Click the link in the dashboard to open it. (sslip.io is a free service that turns any IP into a working hostname — no DNS setup needed to get started.)

What's next?

You have a live app. Now make it production-ready:

On this page